import Vue from 'vue'
import App from './App.vue'
import router from './router'
import * as Sentry from '@sentry/vue'
import { Integrations } from '@sentry/tracing'

const { DSN } = require('../secret')

Vue.config.productionTip = false

// Sentry.configureScope((scope) => scope.setTransactionName('test'))

Sentry.init({
	Vue,
	dsn: DSN,
	// 这个变量控制应该捕获的面包屑总数。默认值为 100。
	// maxBreadcrumbs: 50,
	integrations: [
		new Integrations.BrowserTracing({
			routingInstrumentation: Sentry.vueRouterInstrumentation(router),
			tracingOrigins: ['localhost', /^\//],
		}),
	],
	//配置错误事件的采样率，范围为 0.0 到 1.0。
	//默认值为 1.0，表示发送了 100％ 的错误事件。如果设置为 0.1，则仅发送 10％ 的错误事件。事件是随机选择的
	tracesSampleRate: 0.2,
	// tracesSampler: (samplingContext) => {
	// 	return true
	// },
	// 如果要跟踪子组件，并查看有关渲染过程的更多详细信息，请配置集成以跟踪它们：
	trackComponents: true,
	// logErrors: true,
})

Sentry.addBreadcrumb()
//   {
// 	category: 'auth',
// 	message: 'Authenticated user 444812002@qq.com',
// 	level: Sentry.Severity.Info,
// })
Sentry.startTransaction({
	name: 'test',
	sampled: true,
})
new Vue({
	router,
	render: (h) => h(App),
}).$mount('#app')
